﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace WWB.DisqusSharp.Model.DisqusService
{
    public class UpdateThreadArgs
    {
        public string Title { get; set; }
        public bool AllowComments { get; set; }
        public string Slug { get; set; }
        public string Url { get; set; }
    }

    public class CreatePostArgs
    {
        public CreatePostArgs(string thread_id, string message, string author_name, string author_email)
        {
            ThreadId = thread_id;
            Message = message;
            AuthorName = author_name;
            AuthorEmail = author_email;
            CreatedAt = DateTime.Now;
        }

        public string ThreadId { get; set; }
        public string Message { get; set; }
        public string AuthorName { get; set; }
        public string AuthorEmail { get; set; }
        public DateTime CreatedAt { get; set; }
        public string IpAddress { get; set; }
        public string ParentPost { get; set; }
        public string State { get; set; }
    }

    public class StartLimitArgs
    {
        public StartLimitArgs() : this(0, 25)
        {
            
        }

        public StartLimitArgs(int start, int limit)
        {
            Start = start;
            Limit = limit;
        }

        public int Start { get; set; }

        public int Limit { get; set; }

    }

    public class GetPostArgs : StartLimitArgs
    {
        public GetPostArgs() : base(0, 25)
        {
            Filters = new string[0];
            Exclude = new string[0];
        }

        public IEnumerable<string> Filters { get; set;}

        public IEnumerable<string> Exclude { get; set; }
    }

}
